#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
using std::cout;
using std::endl;

//class A
//{
//public:
//	A(int a)
//		:_a1(a)
//	{
//		cout << "A" << endl;
//	}
//	A(const A& aa)
//		:_a1(1)
//		,_a2(2)
//	{
//		cout << "Aconst" << endl;
//	}
//private:
//	int _a1;
//	int _a2;
//};
//
//int main()
//{
//	A aa1 = 1;
//	const A& ref = 10;
//
//	return 0;
//}
class B
{
	friend class A;
public:
	B(int b)
		:_b(b)
	{}
private:
	int _b;
};
class A
{
public:
	A(int a = 0)
	{
		count++;
	}
	A(const A& aa)
	{
		count++;
	}
	static int GetCount()
	{
		return count;
	}
	int printb()
	{
		cout << B(10)._b << endl;
		return 1;
	}
private:
	static int count;
};
int A::count = 0;

int main()
{
	A a(1);
	A b(a);
	A aa = 10;
	A bb[10];
	//cout << A::GetCount() << endl;
	cout << A().GetCount() << endl;
	cout << A().printb() << endl;
	return 0;
}